Generating Analyzers with PAG
نویسندگان
چکیده
To produce high quality code, modern compilers use global optimization algorithms based on abstract interpretation. These algorithms are rather complex; their implementation is therefore a non{trivial task and error{prone. However, since they are based on a common theory, they have large similar parts. We conclude that analyzer writing better should be replaced with analyzer generation. We present the tool PAG that has a high level functional input language to specify data ow analyses. It o ers the speci cation of even recursive data structures and is therefore not limited to bit vector problems. PAG generates e cient analyzers which can be easily integrated in existing compilers. The analyzers are interprocedural, they can handle recursive procedures with local variables and higher order functions. PAG has successfully been tested by generating several analyzers (e.g. alias analysis, constant propagation, interval analysis) for an industrial quality ANSI-C and Fortran90 compiler. This technical report consists of two parts; the rst introduces the generation system and the second evaluates generated analyzers with respect to their space and time consumption.
منابع مشابه
Generation of Efficient Interprocedural Analyzers with PAG
To produce high quality code, modern compilers use global optimization algorithms based on abstract interpretation. These algorithms are rather complex; their implementation is therefore a non{trivial task and error{prone. However, since they are based on a common theory , they have large similar parts. We conclude that analyzer writing better should be replaced with analyzer generation. We pre...
متن کاملGenerating program analyzers
In this work the automatic generation of program analyzers from concise specifications is presented. It focuses on provably correct and complex interprocedural analyses for real world sized imperative programs. Thus, a powerful and flexible specification mechanism is required, enabling both correctness proofs and efficient implementations. The generation process relies on the theory of data flo...
متن کاملValue Flow Graph Analysis with SATIrE
This work discusses implementation of partial redundancy elimination using the value flow graph, a syntactic program representation modeling semantic equivalences. It allows the combination of simple syntactic partial redundancy elimination with a powerful semantic analysis. This yields an optimization that is computationally optimal and simpler than traditional semantic methods. A source-to-so...
متن کاملStimulation of the Midbrain Periaqueductal Gray Modulates Preinspiratory Neurons in the Ventrolateral Medulla in the Rat In Vivo
The midbrain periaqueductal gray (PAG) is involved in many basic survival behaviors that affect respiration. We hypothesized that the PAG promotes these behaviors by changing the firing of preinspiratory (pre-I) neurons in the pre-Bötzinger complex, a cell group thought to be important in generating respiratory rhythm. We tested this hypothesis by recording single unit activity of pre-Bötzinger...
متن کاملSolving Flipping Coin Problem and Penney-Ante Game without Using Generating Function
We revisit the Flipping Coins (FCP) Problem and PennyAnte Game(PAG) and present a new method for solving them. In FCP and PAG, we consider the process where a string S is generated character by character randomly until certain fixed pattern occurs. FCP asks the expected length of the S while PAG asks the probability of occurrence for each pattern. The classical way (see [13]) of computing those...
متن کامل